<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //         公司前后招聘了10个员工(性别,年龄, 月薪各不相同),有以下需求
        //  1). 列表显示所有员工的所有信息 
        //  2). 对员工进行年薪降序列表显示  
        //  3). 得到男员工的总月薪
        //  4). 查找一个月薪只比12000高一点点的员工
        //  5). 查找出所有月薪高于12000的员工

        // 6）删除年龄是21的元素（过滤出年龄不是21的元素）

        var employees = [
            { name: 'A', sex: '男', age: 21, salary: 10000 },
            { name: 'B', sex: '女', age: 25, salary: 12000 },
            { name: 'C', sex: '男', age: 24, salary: 13000 },
            { name: 'D', sex: '男', age: 24, salary: 12500 },
            { name: 'E', sex: '女', age: 21, salary: 14000 },
            { name: 'F', sex: '男', age: 24, salary: 16000 },
            { name: 'G', sex: '男', age: 23, salary: 9000 },
            { name: 'H', sex: '女', age: 21, salary: 11000 },
            { name: 'I', sex: '男', age: 23, salary: 13200 },
            { name: 'J', sex: '男', age: 23, salary: 15000 }
        ];
        employees.forEach(function (v) {
            // 添加年薪属性
            v.yearSalary = 12 * v.salary;
            console.log(v);

        })
        employees.sort(function (a, b) {
            return b.yearSalary - a.yearSalary;
        })
        console.log(employees);

        //  1). 列表显示所有员工的所有信息 
        //  2). 对员工进行年薪降序列表显示  
        //  3). 得到男员工的总月薪
        var manEms = employees.filter(function (v) {
            return v.sex == '男'
        })
        console.log(manEms);
        var countSa = manEms.reduce(function (sum, v) {
            // 所有的v的salar属性添加到 sum，sum的初始值为0
            return sum + v.salary;
        }, 0)
        console.log(countSa);
        //  4). 查找一个月薪只比12000高一点点的员工
        // 先月薪升序--find条件查找
        employees.sort(function (a, b) {
            return a.salary - b.salary;
        })
        var obj = employees.find(function (v) {
            return v.salary > 12000
        });
        console.log(obj);

        //  5). 查找出所有月薪高于12000的员工
        var resArr = employees.filter(function (v) {
            return v.salary > 12000;
        })
        console.log(resArr);
        // 6）删除年龄是21的元素（过滤出年龄不是21的元素）
        // splice() 删除任意位置

        employees = employees.filter(function (v) {
            return v.age !== 21
        })
        console.log(employees);

    </script>

</body>

</html>